﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.chir
    切比雪夫曲线拟合
    参数 n: 给定数据点的个数。
    参数 x: x[n]存放给定数据点的X坐标。
    参数 y: y[n]存放给定数据点的Y坐标。
    参数 m: m拟合多项式的项数。要求m<=min(n,20)。
    参数 a: a[m]返回m-1次拟合多项式的系数。
    返回值 函数返回拟合多项式的偏差最大值。
    */

    public static string drive_chir()
    {
        double[] x = new double[101];
        double[] y = new double[101];
        double[] a = new double[6];
        double p;

        for (int i = 0; i <= 100; i++)
        {
            x[i] = -1.0 + 0.02 * i;
            y[i] = Math.Atan(x[i]);
        }
        p = gl.chir(101, x, y, 6, a);

        return gl.html_table("拟合多项式系数(偏差最大值=" + p + "):", a);
    }
}
